package com.wkk.annotation;

import com.wkk.constant.CommonConstant;

import java.lang.annotation.*;

/**
 * @author : WangKeKe
 * @date : 2020/10/26 17:47
 * Description : 与token关联的 自定义刷新缓存注解  RedisCache 升级版本
 */

@Documented
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface TokenCache {

    /**
     * 可以自定义缓存key前缀的名称 ：  前缀+参数
     * -不填  key（类名+方法名+参数）
     *
     * @return key前缀的值
     */
    String setKeyPrefix() default CommonConstant.SET_KEY_DEFAULT;

    /**
     * key的拼接是否加入形参值
     *
     * @return true：false
     */
    boolean isParams() default true;

    /**
     * key中是否需要token中的值
     * - 获取token中的某值
     *
     * @return true:false
     */
    boolean isToken() default false;

    /**
     * 如果useToken返回true
     * 则获取token中的该值对应的内容
     *
     * @return token的该值
     */
    String keyToken() default CommonConstant.INFO_FROM_TOKEN_DEFAULT;
}
